#ifndef FEAT_SELECTOR
#define FEAT_SELECTOR

#include "define.h"
//bool readDict(CString &FileName,int classId,sentiDict &Dict);
//bool LookUpInDict(sentiDict &bigDict,wordRateMap &fisherTable,std::vector<CString> &posList,std::vector<CString> &negList);
bool writeDict(std::vector<CString> &words,CString &filename);
bool Fisher(CString &oFile);

class CSelector
{
public:
    CSelector(const CString& workDir,int dim,featType type,CString keyword);
    CSelector();
    //bool Fisher(wordRateMap &fisherTable);
    bool Select();
	bool Present();
private:
	bool _present(CString catogory);
    bool _construct();
    bool _calculate();
		
public:
    wordCountMap		m_wCMap;
    wordRateMap			m_wRMap;
	wordSingleCountMap  m_wNMap;
    CString m_workDir;
    int m_dim;
    std::vector<int> m_classNum;
    std::vector<CString> m_className;
	featType m_type;
	CString m_keyword;
};
//class CIGSelector:public CSelector
//{
//public:
//    CIGSelector();
//    CIGSelector(const CString& workDir,int dim);
//private:
//    bool _calculate(CString keyword);
//};
#endif